/*
 * calle.h
 *
 *  Created on: Jul 23, 2014
 *      Author: diego
 */

#ifndef CALLE_H_
#define CALLE_H_

#include "vehiculo.h"
#include <queue>

class Semaforo ;

typedef	std::priority_queue<Vehiculo*,std::vector<Vehiculo*>,compVehiculo> colaPrioridad ; 

class Calle {
	private: 
		Semaforo * arista ;
		std::string nombre ; 
	 	colaPrioridad * vehiculos ;
		int capacidad ;  

	public: 
		Calle(std::string nombre, int capacidad) ;
		bool empty() ; 
		void setSemaforo(Semaforo * s ) ; 
		Semaforo* getSemaforo() ;
		int getPeso() ;
		int getCapacidad() ;
		bool agregarVehiculo(Vehiculo * v) ; 
		Vehiculo * sacarVehiculo() ;
		std::string getNombre() ;
		void print() ;
} ;




#endif /* CALLE_H_ */
